﻿using Microsoft.Extensions.Primitives;

namespace ZYing.LiquidThemeEngine.FileProviders
{
    public interface ILiquidThemeFileProvider
    {
        ILiquidThemeFileInfo GetFileInfo(string theme, string path);
        ILiquidThemeDirectoryContents GetDirectoryContents(string theme, string path);
        /// <summary>
        /// Creates a Microsoft.Extensions.Primitives.IChangeToken for the specified filter.
        /// </summary>
        /// <param name="theme"></param>
        /// <param name="filter">
        ///  Filter string used to determine what files or folders to monitor. Example: **/*.cs,*.*, subFolder/**/*.cshtml.
        /// </param>
        /// <returns>An Microsoft.Extensions.Primitives.IChangeToken that is notified when a file matching filter is added, modified or deleted.</returns>
        IChangeToken Watch(string theme, string filter);
    }
}
